<parameters>

  <!-- Prompts for the IIS application path. -->
  <parameter
    name="AppPath"
    defaultValue="Default Web Site/Mayando"
    tags="iisapp">
    <parameterEntry
      type="ProviderPath"
      scope="iisapp"
      match="Mayando"/>
  </parameter>

  <!-- Prompts for database server name, which is used in the connection string parameter later. -->
  <parameter
    name="dbServer"
    defaultValue=".\SQLEXPRESS"
    tags="SQL,dbServer">
  </parameter>

  <!-- Prompts for the database name and fills it into the database scripts. -->
  <parameter
    name="dbName"
    defaultValue="Mayando"
    tags="SQL,dbName">
    <parameterEntry
      type="TextFile"
      scope="db-aspnet.sql"
      match="{DBNAME}" />
    <parameterEntry
      type="TextFile"
      scope="db-mayando-user.sql"
      match="{DBNAME}" />
    <parameterEntry
      type="TextFile"
      scope="db-mayando-schema.sql"
      match="{DBNAME}" />
  </parameter>

  <!-- Prompts for the admin creds and uses it for the administrator connection string.
  This is used to create a login and assign permissions.
  The SQL tag indicates it is a parameter required for SQL.
  The DbAdminUsername tag indicates it should be used when the user is creating a new database.
  If they're not, it can be filled in with the DbUsername value. -->
  <parameter
    name="dbAdminUsername"
    defaultValue="sa"
    tags="SQL,dbAdminUsername">
  </parameter>

  <!-- Prompts for the admin password and uses it for the administrator connection string.
  This is use to create a login and assign permissions.
  The SQL tag indicates it is a parameter required for SQL.
  The DbAdminPassword tag indicates it should be used when the user is creating a new database.
  If they're not, it can be filled in with the DbUserPassword value. -->
  <parameter
    name="dbAdminPassword"
    tags="Password,SQL,dbAdminPassword">
  </parameter>

  <!-- Prompts for the database username and fills it into the database scripts.
  The DbUsername tag indicates this is a Db username. -->
  <parameter
    name="dbUsername"
    defaultValue="MayandoUser"
    tags="SQL,dbUsername">
    <parameterEntry
      type="TextFile"
      scope="db-mayando-user.sql"
      match="{DBUSER}" />
  </parameter>

  <!-- Prompts for the database password and fills it into the database scripts.
  The DbUserPassword tag indicates this is a Db password. -->
  <parameter
    name="dbUserPassword"
    tags="SQL,New,Password,dbUserPassword">
    <parameterEntry
      type="TextFile"
      scope="db-mayando-user.sql"
      match="{DBPASSWORD}" />
  </parameter>

  <!-- Prompts for the database table prefix and fills it into the database scripts. -->
  <parameter
    name="Database Table Prefix"
    description="The optional (unique) prefix for all database tables; use when multiple application instances are installed in the same database."
    tags="SQL">
    <parameterValidation type="AllowEmpty" />
    <parameterEntry
      type="TextFile"
      scope="db-mayando-schema.sql"
      match="{TABLEPREFIX}" />
    <parameterEntry
      type="XmlFile"
      scope="\\AppSettings.config$"
      match="/appSettings/add[@key='TablePrefix']/@value" />
  </parameter>

  <!-- Prompts for the ASP.NET providers application name and fills it into the configuration file. -->
  <parameter
    name="ASP.NET Providers Application Name"
    description="The (unique) application name; use when multiple application instances are installed in the same database."
    defaultValue="Mayando"
    tags="">
    <parameterEntry
      type="XmlFile"
      scope="\\Web.config$"
      match="/configuration/system.web//providers/add/@applicationName" />
  </parameter>

  <!-- This is the hidden admin connection string used to run the database scripts. -->
  <parameter
    name="Connection String"
    defaultValue="Server={dbServer};Database={dbName};uid={dbAdminUsername};Pwd={dbAdminPassword};"
    tags="SQL,SQLConnectionString,Validate,Hidden">
    <parameterEntry
      type="ProviderPath"
      scope="dbfullsql"
      match="db-aspnet.sql" />
    <parameterEntry
      type="ProviderPath"
      scope="dbfullsql"
      match="db-mayando-user.sql" />
    <parameterEntry
      type="ProviderPath"
      scope="dbfullsql"
      match="db-mayando-schema.sql" />
  </parameter>

  <!-- This is the hidden connection string used by the ASP.NET Application Services. -->
  <parameter
    name="Application Services Connection String"
    defaultValue="Data Source={dbServer};uid={dbUsername};pwd={dbUserPassword};Initial Catalog={dbName};MultipleActiveResultSets=True"
    tags="SQL,Hidden">
    <parameterEntry
      type="XmlFile"
      scope="\\ConnectionStrings.config$"
      match="/connectionStrings/add[@name='ApplicationServices']/@connectionString" />
  </parameter>

  <!-- This is the hidden connection string used by the Mayando Context. -->
  <parameter
    name="Mayando Context Connection String"
    defaultValue="metadata=res://*/Models.MayandoModel.csdl|res://*/Models.MayandoModel.ssdl|res://*/Models.MayandoModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source={dbServer};uid={dbUsername};pwd={dbUserPassword};Initial Catalog={dbName};MultipleActiveResultSets=True&quot;"
    tags="SQL,Hidden">
    <parameterEntry
      type="XmlFile"
      scope="\\ConnectionStrings.config$"
      match="/connectionStrings/add[@name='MayandoContext']/@connectionString" />
  </parameter>

</parameters>